package authGroup

//权限组
type authGroup struct {
	Id    string `json:"id"`    //id guid
	Title string `json:"title"` //标题
	Sort  int    `json:"sort"`  // 排序
}

const (
	SHARE_ID  = "0m7nti8c714lmqkinoc6yhdgy9r22nkq4ma6" //共享 ID（每个权限组都有，都可以使用）
	ADMIN_ID  = "14t0a8r0m38uqic4z0aoebf6sg6m613vcqfo" //管理端 ID
	CLIENT_ID = "04oa0z7c714atxyg2t86sozmphi9rz43m47d" //客户端 ID
)
// 1kmne0jc715a5e1q6u8r48rh4t4zuyzwz6ej
var ag map[string]authGroup = map[string]authGroup{
	SHARE_ID: {
		Id:    SHARE_ID,
		Title: "共享",
		Sort:  0,
	},
	ADMIN_ID: {
		Id:    ADMIN_ID,
		Title: "管理端",
		Sort:  1,
	},
	CLIENT_ID: {
		Id:    CLIENT_ID,
		Title: "客户端",
		Sort:  2,
	},
}

// 获取 指定 ID 的权限组
func Get(id string) (*authGroup, bool) {
	tem, ok := ag[id]
	if ok {
		return &tem, true
	} else {
		return nil, false
	}
}

// 获取 指定 ID 的权限组 标题
func GetTitle(id string) string {
	tem, ok := ag[id]
	if ok {
		return tem.Title
	} else {
		return ""
	}
}

//获取权限组列表
func List() []authGroup {
	list := make([]authGroup, 0)
	for _, v := range ag {
		list = append(list, v)
	}
	// 排序
	for i := 0; i < len(list); i++ {
		for y := i + 1; y < len(list); y++ {
			if list[i].Sort > list[y].Sort{
				tem:=list[i]
				list[i]=list[y]
				list[y]=tem
			}
		}
	}
	return list
}
